﻿using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime;
using System.Runtime.InteropServices;
using System.Threading;

using PickGold.Callers;
using PickGold.Handler;

namespace PickGold.Arguments
{
	/// <summary/>
	[Serializable]
	[ComVisible(true)]
	[ClassInterface(ClassInterfaceType.AutoDispatch)]
	public class ProgressEventArgs : EventArgs
	{
		private long _Last;
		private long _Value;
		private long _Total;
		private bool _Handled;

		/// <summary/>
		public ProgressEventArgs(long last, long value, long total, bool handled)
		{
			this._Last = last;
			this._Value = value;
			this._Total = total;
			this._Handled = handled;
		}

		/// <summary>
		/// 最后一次进度
		/// </summary>
		public long Last
		{
			get
			{
				return this._Last;
			}
		}

		/// <summary>
		/// 已完成进度
		/// </summary>
		public long Value
		{
			get
			{
				return this._Value;
			}
		}

		/// <summary>
		/// 总进度
		/// </summary>
		public long Total
		{
			get
			{
				return this._Total;
				;
			}
		}

		/// <summary>
		/// 已处理
		/// </summary>
		public bool Handled
		{
			set
			{
				this._Handled = value;
			}
			get
			{
				return this._Handled;
			}
		}
	}
}
